Laser scanning system and scanning method for reading 1-D and 2-D barcode symbols

ABSTRACT

A reader for electro-optical reading bar code symbols of reduced height, comprises a light source for generating a light beam along an optical path; a pair of oscillatable reflectors in the optical path; a first drive for oscillating the reflectors at different frequencies that are a ratio of about 10%-30% apart to create a scan pattern; and a second drive for rotating the scan pattern about an axis that is generally orthogonal to the scan pattern.

This application is a continuation-in-part of Ser. No. 08/533,021, filedSep. 25, 1995 now U.S. Pat. No. 5,637,856 which is, in turn, acontinuation of Ser. No. 08/153,053 filed Nov. 17, 1993 now U.S. Pat.No. 5,504,316, which is, in turn, a continuation-in-part of U.S. patentapplication Ser. No. 07/868,401, filed Apr. 14, 1992, now U.S. Pat. No.5,280,165, which in turn is a division of application Ser. No.07/520,464, filed May 8, 1990, now U.S. Pat. No. 5,168,149.

This application is also a continuation-in-part of U.S. patentapplication Ser. No. 08/037,143, filed Mar. 29, 1993 now abandoned, Ser.No. 07/715,267, filed Jun. 14, 1991, now U.S. Pat. No. 5,235,167.

This application is also a continuation-in-part of Ser. No. 07/981,448,filed Nov. 25, 1992 now U.S. Pat. No. 5,478,997.

This application is further a continuation-in-part of Ser. No.08/028,107, filed Mar. 8, 1993 now U.S. Pat. No. 5,408,081.

TECHNICAL FIELD

This invention relates generally to hand-held scanning systems which"read" indicia, such as barcode symbols, and in particular to systemsand methods for scanning one-dimensional (1-D) and two-dimensional (2-D)barcode symbols with a first scan pattern that is relatively small anddense so as to be visible to the user, and thereafter a second, largerand more robust scan pattern for decoding. The invention also relates toscanners operable in both portable (hand-held) and surface mounted(hands-free) modes for reading various types of indicia. The inventionfurther relates to novel miniature assemblies capable of 1-D and 2-Dscanning.

BACKGROUND ART

Various optical readers and scanning systems have been developed forreading barcode symbols appearing on a label or the surface of anarticle. The barcode symbol itself is a coded pattern of indiciacomprised of a series of bars of various widths spaced apart from oneanother to bound spaces of various widths, the bars and spaces havingdifferent light-reflecting characteristics. The readers and scanningsystems electro-optically transform the graphic indicia into electricalsignals, which are decoded into alpha-numerical characters intended tobe descriptive of the article or some characteristic of it. Suchcharacters typically are represented in digital form, and utilized as aninput to a data processing system for applications in point-of-saleprocessing, inventory control and the like. Scanning systems of thisgeneral type have been disclosed, for example, in U.S. Pat. Nos.4,251,798; 4,360,798; 4,369,361; 4,387,297; 4,409,470 and 4,460,120, allassigned to the assignee of the present invention.

One embodiment of such a scanning system, as disclosed in some of theabove patents, resides in, inter alia, a hand-held, portable laserscanning head supported by a user. The scanning head is configured toenable the user to aim the head at a target to emit a light beam towarda symbol to be read, the light source is a laser scanner typically inthe form of a gas or semiconductor laser element. Use of semiconductordevices as the light source in scanning systems is particularlydesirable because of the small size, low cost and low power requirementsof semiconductor lasers. The laser beam is optically modified, typicallyby a lens, to form a beam spot of a certain size at the target distance.Preferably, the beam spot size at the target distance is approximatelythe same as the minimum width between regions of different lightreflectivity, i.e., the bars and spaces of the symbol.

The barcode symbols are formed from bars or elements typicallyrectangular in shape with a variety of possible widths. The specificarrangement of elements defines the character represented according to aset of rules and definitions specified by the code or "symbology" used.The relative size of the bars and spaces is determined by the type ofcoding used, as is the actual size of the bars and spaces. The number ofcharacters per inch represented by the barcode symbol is referred to asthe density of the symbol. To encode a desired sequence of characters, acollection of element arrangements are concatenated together to form thecomplete barcode symbol, with each character of the message beingrepresented by its own corresponding group of elements. In somesymbologies a unique "start" and "stop" character is used to indicatewhere the barcode begins and ends. A number of different barcodesymbologies exist. These symbologies include UPC/EAN, Code 39, Code 128,Codabar, and Interleaved 2 or 5.

In order to increase the amount of data that can be represented orstored on a given amount of surface area, several new barcodesymbologies have recently been developed. One of these new codestandards, Code 49, introduces a "two-dimensional" concept by stackingrows of characters vertically instead of extending the barshorizontally. That is, there are several rows of bar and space pattern,instead of only one row. The structure of Code 49 is described in U.S.Pat. No. 4,794,239, which is hereby incorporated by reference.

A one-dimensional single-line scan, as ordinarily provided by hand-heldreaders, functions by repetitively scanning the light beam in a line orseries of lines across the symbol using a scanning component such as amirror disposed in the light path. The scanning component may eithersweep the beam spot across the symbol and trace a scan line across andpast the symbol, or scan the field in view of the scanner, or do both.

Scanning systems also include a sensor or photodetector, usually ofsemiconductor type, which functions to detect light reflected from thesymbol. The photo-detector is therefore positioned in the scanner or inan optical path in which it has a field of view which extends across andslightly past the symbol. A portion of the reflected light which isreflected off the symbol is detected and converted into an electricalsignal, and electronic circuitry or software decodes the electricalsignal into a digital representation of the data represented by thesymbol that has been scanned. For example, the analog electrical signalfrom the photodetector may typically be converted into a pulse widthmodulated digital signal, with the widths corresponding to the physicalwidths of the bars and spaces. Such a signal is then decoded accordingto the specific symbology into a binary representation of the dataencoded in the symbol, and to the alphanumeric characters sorepresented.

The decoding process in known scanning Systems usually works in thefollowing ways. The decoder receives the pulse width modulated digitalsignal from the scanner, and an algorithm implemented in softwareattempts to decode the scan. If the start and stop characters and thecharacters between them in the scan were decoded successfully andcompletely, the decoding process terminates and an Indicator of asuccessful read (such as a green light and/or an audible beep) isprovided to the user. Otherwise, the decoder receives the next scan,performs another decode attempt on that scan, and so on, until acompletely decoded scan is achieved or no more scans are available.

More sophisticated scanning, described in U.S. Pat. No. 5,235,167,assigned to the common assignee, and incorporated herein by reference,carries out selective scanning of 1-D and 2-D barcodes. Preliminaryinformation, such as the barcode type and size, is preliminarily decodedduring an aiming mode of operation when a relatively narrow and visibleraster pattern is impinged on the target. Based upon the preliminaryinformation, received by the scanner in the form of light reflected fromthe target, converted to an electrical signal and decoded, anappropriately sized raster scan pattern is generated. If the barcodepattern is found to be skewed or misaligned with respect to thedirection of the raster scanning pattern, the pattern is generated withan orientation in alignment with the barcode.

Aligning the scan pattern to the barcode is awkward, especially for longrange scanning. If a barcode is not horizontally positioned on, forexample, a container, the user is forced to position the scannersideways in order to scan the barcode. One possible solution, describedin the aforementioned U.S. Pat. No. 5,235,167, is to control the scannerto self-orient the scan pattern to the orientation of the barcode.

Scanning 2-D, or PDF, barcodes with a raster pattern also presents asimilar problem. At certain distances, the visibility of a 2-D rasterpattern is poorer than that of a single line, and orienting the barcodewith the scan lines is not effortless. Assuming the pattern to be amplyvisible, the user may tend to position the 2-D barcode horizontallyunder a scan lamp. However, it would be ideal if no aligning isrequired. For example, a 2-D barcode may have been a photocopyvertically aligned onto a page. Upon scanning, the user may firstsubconsciously attempt to present the page horizontally, and thuspresent the barcode vertically. Without ability by the scanner toinstantaneously sense barcode orientation, and then position a rasterpattern to scan it, the user will be forced to realign the pagevertically.

Following alignment of the scan pattern to the barcode, the pattern isthen increased in width so as to fully span the length of the barcode,and if the pattern is determined to be a 2-D barcode, the height of thescan pattern is also increased so an to decode all of the barcode rows.However, the rate at which the raster pattern is increased in size isfixed and independent of the size of the barcode or the distance betweenthe hand-held scanner and target. At a common rate of pattern sizeincrease, depending upon the size of the barcode it may require from 0.1to 2.0 seconds to open the scan pattern and decode the barcode. Distanceto the target is another factor. Pattern size is incremented until theentire pattern is decoded. The size of each increment of increase indetermined in part by the working range of the scanner. Very long rangescanners, usable up to sixty feet, for example, may require smallerincrements so that the patterns do not grow too fast at the end of aworking range where much of the information, including start and stopcodes, concerning attributes of the barcode resides. Hence, it would bedesirable to control the rate at which the scan pattern grows to decodethe barcode depending upon the characteristics of the barcode itself.

The scanner unit must be compact, energy efficient, and capable ofscanning both 1-D and 2-D barcodes. The unit preferably will also beconvertible between hand and surface support applications. The scanpattern will preferably be optimized in accordance with whether the unitis in hand hold or surface supported modes of operation, whether it isin a presentation type of operation (wherein the indicia are passedunder a scan lamp) or a pass through type of operation (supermarkettype) and on the type of barcode or other indicia to be read.

DISCLOSURE OF THE INVENTION

A general object of this invention is to improve aim and shootcapabilities of hand-held barcode scanners. A more particular object isto improve the scan pattern visibility of hand-held barcode scannersduring aiming. Another object of the invention is to implement robustscan patterns during decoding, and another is to enable the scanner toautomatically orient the scan pattern to the rotational orientation ofthe symbol. A further object is to transition between aiming anddecoding automatically while reading 1-D or 2-D barcodes. Other objectsof this invention include miniaturizing the scan mechanism so as toenable the scanner to be conveniently hand-held, and compactly housingthe scanner, and providing convertibility between hand-held and surfacemount applications while automatically generating scan patternsoptimized for the particular application and type of indicia being read.

These and other objects and features of the invention are satisfied, atleast in part, by a scanning system operable both in portable and fixedmodes for reading barcode symbols comprising means for determiningwhether operation is in a fixed or portable mode, and means for adaptingthe scan pattern to an optimized pattern for such mode of operation.Preferably, the scan pattern is also optimized in dependency on the typeof indicia being read and whether scanning is carried out in apresentation type (under a scan lamp) or a pass through (supermarket)type reader.

In accordance with a preferred embodiment, a light beam scannergenerates a light beam directed toward a symbol to be read and moves thebeam along the symbol in an omnidirectional scanning pattern, that is,one wherein the pattern trajectory in not limited to one or a limitednumber of directions while a symbol is traversed. A light detectorreceives reflected light from the symbol and generates electricalsignals responsive to the reflected light, and the scanning pattern iscontrolled in response to the electric signals. The scanning pattern maybe radially symmetric, a rotating line pattern, or a spiral pattern. Thepattern control may vary the diameter or trajectory of the light beam,and more particularly may move the light beam selectively along a firstscan path or a second scan path depending on the electrical signals. Inpreferred embodiments, the first and second scan paths differ from eachother by rotation about an axis of rotation, by an increase in scan pithenvelope diameter, by rotation of the first scan path about an axis ofrotation and increase of scan path envelope diameter, or by displacementof the center of rotation of the first scan pattern. Preferably, thescan pattern is such that the bar code is traversed by at least two scanlines per row of bar patterns during reading.

A particular embodiment of the foregoing includes providing a relativelybright, rosette scanning pattern for enabling a user to aim and directthe beam toward a bar code symbol to be read, scanning the symbol,detecting light reflected from the symbol and generating an electricalsignal in response to the reflected light, and modifying the radialdiameter of the scan pattern in response to the electrical signal.

Another aspect of the invention provides a light source for generating alight beam directed toward a symbol to be read, and a light detector forreceiving light reflected from the symbol and, in response, generatingan electrical signal. This signal is converted to data corresponding toa content of the symbol. The light beam is controlled to scan the symbolwith a prescribed scan pattern to develop first data, and thereafterincrease a dimension of the scan pattern at a rate dependent upon thatfirst data.

Preferably, the scan pattern is increased in dimension at a rate, and toa magnitude, that are determined by the decoded signal, to produceultimate data corresponding to the symbol.

In accordance with a preferred embodiment, the light beam is controlledto scan a symbol in an aim mode of operation and thereafter in a decodemode. The decode mode may follow the aim mode in response to a secondmanual operation of a trigger, or may occur automatically. In the aimmode, the light beam scans the symbol with a first, relatively smallprescribed scan pattern that is visible to the user and corers only aportion of the symbol. The decode mode of operation scans a portion ofthe symbol with a second (same or different) prescribed scan pattern,and then incremently increases the size of this second pattern whiledecoding. Scan patterns found useful for aiming and decoding are spiral,stationary or rotating Lissajous, rotating line and rosette, with thespiral producing the most visible aim pattern and the rotating Lissajousproducing the most robust decoding. A stationary or precessing rasterpattern is produced for 2-D barcode scanning and decoding.

Although the scan patterns for aiming and decoding may be the same, theypreferably are different. In this respect, the symbol is preliminarilyanalyzed using a rotating Lissajous pattern during the aim mode ofoperation to determine whether the symbol is one-dimensional ortwo-dimensional, and, in accordance with another aspect of theinvention, the light beam is automatically controlled to describe astationary or precessing raster scan pattern for decoding if the symbolis two-dimensional. If the scanned symbol is determined to be aone-dimensional symbol, the pattern for aiming and decoding bothpreferably are a rotating Lissajous. A scan control circuitautomatically transitions between the aiming and decoding patterns, suchas from Lissajous to raster for 2-D scanning.

In accordance with a further aspect of the invention, the scanner isincorporated within a housing including an approximately square windowfor enabling the light beam to pass through it. The housing is adaptedto be hand-held, and releasably attached to a surface mount base. In apreferred embodiment, the surface mount base enables the housing torotate about vertical and horizontal axes, and optionally includes avertical extension to increase the height of the scanner.

Yet another aspect of this invention concerns decoding a barcode that isangularly offset from the horizontal, without prior knowledge by theuser, and despite any droop in the scan lines emitted the scanner thatis characteristic of some 2-D scanning mechanisms. Advantageously, thelight beam is controlled to traverse the symbol with a scan patternhaving the form of a raster that precesses among successive frames so asto align with rows of barcode oriented at various angles.

A further aspect of the invention provides system for reading codedindicia, comprising an electro-optical reader within a portable housinghaving a means for enabling a human operator to hold and aim the readerat indicia to be read. The reader includes a light source for generatinga light beam, a light detector for receiving light reflected from theindicia and responsively generating an electrical signal, and means forconverting the electrical signal to data representing informationcontent of the indicia. A stationary fixture has a means for supportingthe portable housing of the reader when not held by the operator. A scancontrol means controls the light beam to scan the indicia with differentprescribed scan patterns in response to the information content of theindicia and whether the portable housing is separated from or mounted inthe fixture.

When the reader is enabled, the scan means controls the light beam topreliminary scan the indicia with a scan pattern, such as a rotatingLissajous, that indexes angularly so as to traverse the indicia alongdifferent directions progressively as a function of time. Assume firstthat the housing is separated from the fixture. When the indicia contentcorresponds to a 1-D barcode pattern, as determined during preliminaryscanning the scan pattern for decoding continues as a rotating Lissajouspattern, in accordance with the preferred embodiment. When the indiciacontent corresponds to a 2-D barcode pattern, the scan patternpreferably changes to a precessing raster pattern.

If the housing is mounted in the fixture, and the indicia contentcorresponds to a 1-D barcode pattern, as determine during preliminaryscanning the scan pattern for decoding may be a single line or multipleline scan pattern. If the indicia content corresponds to a 2-D barcodepattern, the scan pattern may be a raster pattern. In either case, thescan pattern for decoding is optimized to read the classification ofbarcode preliminary scanned.

A particularly advantageous "aim and shoot" operation of the scanner, inaccordance with the invention, is as follows. The operation comprisesfirst directing a light beam toward a symbol to be read, executing anaim mode of operation by controlling the light beam to scan the symbolwith a visible scan pattern in the form of a rotating Lissajous pattern,and then receiving light reflected from the symbol and producing firstdata identifying an attribute of the symbol including whether the symbolrepresents a one-dimensional or two-dimensional barcode symbol. Theoperation then provides executing a decode mode such that (a) if duringaiming, the symbol is determined to be a one-dimensional barcode symbol,decoding while scanning using a rotating Lissajous scan pattern to scanthe symbol, and (b) if the symbol is determined to be a two-dimensionalbarcode symbol, decoding while using a raster scan pattern to scan thesymbol.

The scanner mechanism, in accordance with a first embodiment, comprisesa housing, a source within the housing for emitting a light beam to bereflected from a symbol to be scanned, and a photodetector positionedwithin the housing for receiving light reflected from the symbol andresponsively producing an electrical signal. An optical element ispositioned within the housing in a path of the light beam, and apermanent magnet mounted to a support member and produces a magneticfield. An electric coil, mounted with the optical element, is axiallydisplaced from the support member. A plurality of semi-rigidelectrically conducting wires interconnect the coil and the supportmember such that AC drive current applied to the coil through the wirescauses the coil to generate an electromagnetic field for interactionwith the magnetic field of the permanent magnet to produce oscillatormotions of the optical element.

Another scanning mechanism comprises a housing, a source within thehousing for emitting a light beam to be reflected from a symbol to bescanned, a photodetector positioned within the housing for receivinglight reflected from the symbol and responsively producing an electricalsignal, and an optical scanning element in the housing. The opticalscanning element is formed by an optical element positioned In a path ofthe light beam, and a cylindrical permanent magnet mounted to a supportmember of magnetically permeable material for producing a magneticfield, the cylindrical magnet having an open end opposing the supportmember. A cylindrical electric coil is mounted to the support member,surrounded by the permanent magnet and itself surrounding a core of themagnetically permeable material. A flexible membrane is mounted to andspans the open end of the cylindrical permanent magnet, and a metalplate of small mass is attached to the membrane in proximity to theelectric coil and the core. An optical element is mounted for pivotalmovement, and displaced from but axially aligned with the metal plate,and a coupling element of small mass interconnects the optical elementand the metal plates. AC drive current applied to the coil causes thecoil to generate an electromagnetic field for interaction with themagnetic field of the permanent magnet to produce oscillatory notions ofthe optical element with repetitive flexing of the diaphragm.

Another embodiment of the invention provides a housing, a source withinthe housing for emitting a light beam to be reflected from a symbol tobe scanned, and a photodetector positioned within the housing forreceiving light reflected from the symbol and responsively producing anelectrical signal. An optical scanning element in the housing is formedby a reflector or other optical element positioned in a path of thelight beam. An electric coil of cylindrical shape is mounted to asupport member and produces a varying magnetic field in response to anAC current, and a permanent magnet is mounted in alignment with acentral axis, and adjacent one end, of the coil. The reflector for lightemitted from the light source is of a mass substantially less than themass of the permanent magnet. An arcuate bracket of flexible materialinterconnects the permanent magnet and the reflector.

A further embodiment of scanner mechanism provides a frame formed offlexible material and having first and second opposed ends, and a pairof parallel, slightly spaced apart wires connected to and maintainedtaut between the ends of the frame. Mounted to the pair of taut wiresapproximately centrally between the ends of the bracket, a subassemblyincludes an optical element for directing the light beam, and apermanent magnet coupled to the optical element and developing amagnetic field. An electromagnetic coil receives AC drive current togenerate an electromagnetic field for interaction with the magneticfield of the permanent magnet and induce oscillatory motion in a firstscanning direction to the optical element.

Still other objects and advantages of the present invention will becomereadily apparent to those skilled in this art from the followingdetailed description, wherein only the preferred embodiment of theinvention is shown and described, simply by way of illustration of thebest mode contemplated of carrying out the invention. As will berealized, the invention is capable of other and different embodiments,and its several details are capable of modifications in various obviousrespects, all without departing from the invention. Accordingly, thedrawing and description are to be regarded as illustrative in nature,and not as restrictive.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1A is a view of a hand-held scanner in cross-section; FIG. 1B is aperspective views of a "palm-held" scanner, in accordance with oneaspect of the invention and FIG. 1C is a side view of the palm-heldscanner in cross-section.

FIG. 2A shows raster scanning of a 1-D barcode pattern; and FIG. 2Bshows scanning of a 2-D, or PDF, barcode pattern.

FIG. 3A shows a relatively small pattern in scanning a portion of a 1-Dbarcode for aiming; and

FIG. 3B depicts expansion of the scan pattern to decode the entirebarcode.

FIG. 4A shows a 2-D barcode, scanned by a relatively small, rotatingLissajous pattern for aiming; in FIG. 4B, the pattern has transitionedto a raster pattern suitable for 2-D barcode decoding; and in FIG. 4C,the raster is enlarged to decode the complete barcode.

FIGS. 5A and 5B show rosette patterns of different density for aiming;FIG. 5C shows a spiral pattern and FIG. 5D shows a stationary Lissajouspattern; and FIG. 5E shows a rotating line pattern for aiming withautomatic scan alignment.

FIG. 6 shows a rotating Lissajous pattern for aiming on and decoding 1-Dbarcodes.

FIG. 7 shows a precessing raster scan pattern for decoding 2-D barcodesof various orientations.

FIG. 8 is a simplified block diagram of circuitry for producing aim androtating line scan patterns.

FIG. 9A depicts a raster pattern scanning a 2-D barcode; in FIG. 9B, thescan pattern is horizontally misoriented with respect to the barcode;and in FIG. 9C, the scan pattern contains a degree of droop. FIGS. 9D-9Fpresent the same scan patterns to a 1-D barcode.

FIGS. 10A and 10B depict DBP data streams and signal intervals for twodifferent barcode orientations.

FIG. 11 describes methodology for automatic barcode alignment.

FIG. 12 is a simplified block diagram of a barcode alignment circuitused in the invention.

FIG. 13A is a block diagram of circuitry for driving scan elements forsingle line rotation and scanning; FIG. 13B shows amplitude responses ofa typical resonant scan element.

FIG. 14 is a block diagram of circuitry for generating signals forproducing a rotating Lissajous scan pattern.

FIG. 15 depicts the amplitude and phase responses of resonant elementsused for producing a rotating Lissajous scan pattern, in accordance withthe invention.

FIG. 16 is a perspective view of a rotating Lissajous scannerembodiment, implemented by four reflectors.

FIGS. 17A and 17B show two different reflector configurations forproducing a rotating Lissajous scan pattern.

FIG. 18 is a flow chart of trigger initiated, omni-directional scanpattern generation.

FIG. 19 is a flow chart of automatic "aim and shoot" pattern generation,in accordance with the invention.

FIGS. 20A and 20B are side and front views of a miniature scanningassembly, in accordance with an embodiment of the invention.

FIGS. 21A and 21B are side and front views of a miniature scannerassembly, in accordance with another embodiment of the invention.

FIGS. 22A and 22B are views of a miniature scanner having an opticalelement mounted on two taut wires, in accordance with another embodimentof the invention.

FIG. 23 is a simplified diagram showing two-dimensional scanning usingan X-direction scanning element and additional Y-scanning motor.

FIG. 24 is a symbolic drawing of a scanning assembly having a low-massreflector oscillated by a permanent magnet-electromagnet mechanism.

FIG. 25 is a diagram showing that the angle of oscillation of thelow-mass reflector is considerably greater than that of the permanentmagnet to which it is mechanically coupled.

FIGS. 26A and 26B are exploded views of two embodiments of palm-heldscanner housings, together with a surface mount fixture, in accordancewith the invention.

FIG. 27 is a chart for explaining the operation of the scanner inportable and fixed modes for 1-D and 2-D barcode patterns.

FIG. 28 is a prior art scan pattern.

FIGS. 29, 30 and 31 are scan patterns according to this invention.

BEST MODE FOR CARRYING OUT THE INVENTION

As used in this specification, the terms "symbol" and "barcode" areintended to be broadly construed and to cover not only patterns composedof alternating bars and spaces of various widths, but also other one ortwo dimensional graphic patterns, as well as alphanumeric characters.

The invention provides a scanner system in which the scan patternproduced by a light beam is controlled to describe an omnidirectionalscanning pattern, light reflected from a symbol is detected, and thescan pattern is thereafter controlled in response to the detectedsignals. The invention also provides a scanner system and method inwhich adjustment of the spatial coverage of the scan pattern of ascanning beam is automatically made at a responsively controlled rate toeffect an appropriate type of scanning pattern depending upon the typeof symbols to be read. The invention further provides a scanning systemoperation in which two different types of barcodes may be read, astandard linear barcode and a 2-D barcode. The invention provides atechnique for determining the type of barcode, its angular orientation,and adjusts the spatial coverage or vertical sweep of the rasterscanning beam to fully scan and read a 2-D barcode.

In accordance with a first aspect of the invention, the inventionfurther produces scan patterns for reading indicia, optimized independence upon the operating mode of the scanner (portable or fixed)and other criteria. A portion of the barcode is initially scanned byprojecting a light beam on the target containing the barcode, andscanning the beam using a pattern that is relatively small and dense soas to be visible to the user for aiming. A portion of the barcode ispartially decoded to determine the type, and possible size, of thebarcode, whether it is a 1-D or 2-D barcode and its angular orientation.A rotating Lissajous pattern is preferred for this purpose as it hasbeen determined to be most robust, although other patterns can be used.If the symbol is found to be a 1-D barcode, the scan pattern isincreased in size (opened) to a maximum size, at a prescribed rate, inconformance with the portion of the symbol previously decoded, and therotating Lissajous pattern decodes the entire symbol. If the symbol isdetermined to be a 2-D barcode, the rotating Lissajous pattern isconverted to a raster pattern, and increased in size at a prescribedrate to decode the barcode. In a preferred embodiment, the rasterpattern precesses so as to align with the 2-D symbol and therefore read2-D barcodes of different angular orientations with respect to thehorizontal scanning pattern.

Thus, referring to FIG. 1A, a hand-held barcode scanner 30 is confinedto be held in the palm of a user's hand and oriented in the direction ofa barcode or other symbol 32 to be read. The scanner 30 is housed in alight-weight plastic housing 40 (FIG. 1B) containing a semiconductorlaser light source 42, photodetector 44, optics 46, 48 and 50 and signalprocessing/control circuitry 52. Alternatively, the housing may begun-shaped and provided with handle to enable the user to easilymanually aim and shoot the light beam toward a symbol which may beremote from the housing, and an indicator which may be an audio sourceinside the housing to inform the user that the housing is positioned inthe correct working range for reading bar code symbols. Such a housingis shown in FIG. 1 of U.S. Pat. No. 5,168,149, incorporated herein byreference. The circuitry in housing 40 may be powered by connection to apower source, or by batteries 54 to allow the unit to operate in aportable, wireless iode.

As further depicted in FIGS. 1A and 1B, a suitable lens 38, or multiplelens system, will focus the scanned beam onto the barcode symbol at anappropriate reference frame. The light source 42 is positioned tointroduce a light beam into the axis of the lens 38, and the beam passesthrough a partially silvered mirror 48 and other lenses or beam-shapingstructure as needed. An oscillating mirror 50 is connected to a scanningmotor 56 that is driven by the control circuitry 52 in response tomanual operation of a trigger 58 on the outside of the housing 40 (FIG.1A). Signals to and from the control and signal processing circuitry 52are carried by exit port 34a and line 34 to external equipment.

The scanner 30 may be adapted to scan different types of articles or fordifferent applications by interchanging the scanning head with anotherthrough use of electrical connectors. Furthermore, the scanning modulemay be implemented within a self-contained data acquisition systemincluding one or more such components as keyboard, display, printer,data storage, application software and data bases (see, for example,U.S. Pat. No. 4,409,470), and may also include a radio or other type ofcommunications interface for communication with a local area network,telephone exchange network or radio broadcast system.

Referring to FIG. 26A, the palm scanner module 30, now shown in moredetail, incorporates a rubber grip 110 around the crown of the moduleslightly above a pair of indentations 112 for seating the module in amounting bracket 114, enabling the module to pivot about a horizontalaxis. The bracket 114 includes a pair of upstanding supports 116 havingspindles 118 for rotatably supporting the module. The bracket 114 inturn is mounted on a base 120 that is turreted to a mounting plate 122and hence is able to rotate about a vertical axis. The scanner module 30can be easily removed from the bracket by lifting with a forcesufficient to enable the spindles 118 to slip from the indentations 112.

The outgoing beam 36 is generated in the scanner 30 by a laser diode orthe like, and directed to impinge upon the barcode symbol 32 thatordinarily is positioned a few inches from the front of the scanner.However, other applications may require scanning a target that is at aconsiderable distance e.g., 60 feet from the scanner. The outgoing beam36 is scanned using various patterns to be described later, one being alinear raster as shown in FIGS. 2A and 2B. The user positions thehand-held unit so that the scan pattern traverses the symbol to be read.Light reflected from the symbol is received by the unit 30 and detectedby a photodetector 44 within the housing. Light beam 36, in bothdirections, passes through a transparent or translucent window 38 thatpreferably is approximately square in shape to accommodate 2-D as wellas 1-D pattern scanning.

Referring to FIG. 2A in more detail, a raster scanning pattern, known inthe art, is traversing a 1-D barcode. Such a scan pattern may begenerated by vertical (or Y-direction) displacement of a linear scanline driven in the X-direction, such as described in U.S. Pat. No.4,387,297. Although numerous scan lines traverse the barcode, only oneline of scan is necessary for proper decoding since the additional scanlines are redundant and only re-read the same data on a differentvertical position of the barcode symbol. In FIG. 2B, the rastertraverses a 2-D barcode, and is opened vertically to encompass thebarcode entirely. Although the 2-D pattern contains many rows of opticalelements, it is necessary only that each row be traversed once, asshown, for decoding.

For long range scanning, first aiming and then scanning the barcode toread the code is natural. These operations are termed the "aim mode" and"decode mode" hereinafter. Two trigger pull positions are normallyprovided, or the trigger is pulled twice to produce these respectivemodes of operation. In accordance with one aspect of the invention, andreferring to FIGS. 3A and 3B, upon a first pull of the trigger 58, abright spot for aiming is used to establish a small visible pattern onthe target surface. This technique is similar to that disclosed in U.S.Pat. No. 5,117,098 of Swartz and assigned to the assignee of thisinvention. This visible pattern may be produced by a small scan line,but preferably is presented in the form of a bright spot. This "spot"can be developed, and is presented in most visible form, by anoscillating circle, or spiral, pattern shown in FIG. 5C. Other patternsfound suitable for aiming are rosette (FIGS. 5A and 5B), stationaryLissajous (FIG. 5D), rotating line (FIG. 5E) and rotating Lissajous(FIG. 6).

For example, the line scan pattern of FIG. 5E is produced by generatinga beam of a relatively short line scan pattern, and rotating the patternquickly about its center once or after every few scans. Alternatively,the scan line may be randomly positioned at pre-determined angles, onceor after every few scans, and the angle of rotation about its center ofrotation may be controlled in response to signals read produced by lightreflected from the symbol. Assuming that the spot is located in nearlythe center of the barcode, the orientation of the barcode may beestimated using a peak detector, to be described later, if the barcodeis a 1-D barcode or the orientation may be estimated from the returneddigital bar pattern, or DBP, as the scan line is positioned at differentangles.

Upon the second trigger pull (or further pull of the trigger in the samestroke if the trigger is multi-purpose), or automatically, in the decodemode of operation, the scan pattern opens in the exact orientation ofthe barcode as determined by the peak detector, as shown in FIG. 3B, sothat the entire barcode will be decoded. The ultimate size of therotating scan line pattern, and the rate at which the pattern opens, iscontrolled dependent upon barcode attributes, such as type, aspect ratioand size, decoded during the aim mode. Optionally, the barcode may becompletely decoded during the aim mode, and if so, a consistency checkmay be performed during the decoding mode.

The following example assumes an aim pattern in the form of a singlescan line, FIG. 5E, a pattern particularly useful for discerning theorientation of a barcode prior to decoding. In order to rotate a singlescan line, or position it at any given angle, an element having twodegrees of freedom with equal resonant frequencies on both axes isnecessary. The horizontal and vertical oscillations are given by

    X(t)=sin(wt)cos(θ)

    Y(t)=sin(wt)sin(θ)

where θ is the angle of rotation with respect to the x-axis. This anglewill normally be produced in the form of a digital quantity presented tothe rotation system via a microprocessor system. The resonant frequencyw should be chosen high enough so that a possible loss in aggressivenessduring the angle estimation/aiming period is not apparent.

In order to cover all possible orientations of the barcode, the scanlines must be capable of rotating through 180 degrees, and preferablythe entire symbol will be covered such that at least two scan linestraverse each row of bar patterns during reading. However, theresolution of rotation depends on the aspect ratio and size of thebarcode.

If it is necessary to rotate the scan line once every s scans, at aresolution of r degrees, for a duration of d seconds in order to cover atotal of 180 degrees, then ##EQU1## is selected.

For example, if a complete 180 degree rotation should be accomplishedwithin 0.1 second, at 10 degree resolution for every scan, then w/2π=90Hz will suffice.

Referring to FIGS. 10-12, means for detecting when the scan line of FIG.5E is aligned to a barcode are shown. In FIGS. 10A and 10B, the barcodesand scan line are in alignment and out of alignment, respectively. TheDBP (digital bar pattern) stream corresponding to the scanned barcode isanalyzed to find the scan angle at which the energy content of the DBPstream is maximum because the scan line has intersected the most barcodeelements. In FIG. 10A, the DBP pattern scanned by line 75a has moreelements than that of FIG. 10B where the barcode has been scanned by askewed scan line 75b. As the scan line is rotated, the number ofelements produced In the DBP stream is estimated by filtering andcomparing with the stream produced by other scan line angles. Hence,referring to FIG. 11, the DBP stream is read and supplied as an analogsignal (a) derived from the DBP stream to a high pass filter 70 whichproduces waveform (b). A peak level detector 72 tracks the peak value orenvelope of the filtered replication of the DBP stream (see waveform(c)), and the peak value is compared to a prescribed threshold (e) bycomparator 74. The points at which the envelope and threshold intersecteach other develop an output signal (e) having a duration thatcorresponds to the number of DBP elements spanned by the scan line. Theduration of the output signal is measured by timer 76, to indicate thenumber of elements of the DBP stream, and the scan line producing a DBPstream of greatest duration is identified as having the best alignmentto the barcode.

The orientation of the scan line alternatively may be determined moreprecisely than what is capable using the circuit of FIG. 12 byimplementing an algorithm wherein the DBP stream is read and scanned forregions bound by a known scan direction synchronizing signal (called"SOS") having the most elements. For example, the orientations betweenfive and ten degrees may have one hundred elements, while all othershave fewer. If the scan line is shorter than the barcode, then thisregion between five and ten degrees, for example, will indicate thegeneral barcode orientation. A more exact orientation can be found byrotating the scan line in a direction that minimizes the total sum ofthese element widths. Once the exact orientation is found, the scan linelength may be increased until a decode occurs. Hence, this approachrepresents a global search for general barcode orientation, and then afine tuning step.

The circuit of FIG. 12 is more immune than the algorithmic approach, asthe threshold of comparator 74 may be set to ignore spurious elementsdue to noise.

Although the short single line pattern is the most visible, it isdisadvantageous for aiming because it suggests orientation and may bepsychologically distracting. Larger spots, those shown in FIGS. 5A-D,can be simulated without changing the aperture by creating the spiralpattern shown in FIG. 5A, implemented by modulating the size of a circlepattern. As mentioned previously, a spiral is the most visible,non-orientation, suggestive and easily implemented. All of the aimpatterns of FIGS. 5A-D can be created by the circuit shown symbolicallyin FIG. 8, which implements the following equations:

    x(t)=sin(w.sub.2 t)A(t)                                    (1)

    y(t)=cos(w.sub.1 t)A(t)                                    (2)

The function A(t) can be arbitrarily picked. For example, letA(t)=sin(w₃ t). The rosette pattern of FIG. 5A is created with w₁ =w₂,and w₃ =4w₂ ; the rosette pattern of FIG. 5B is created with w₁ =w₂, andw₃ =2w₂ ; the spiral pattern of FIG. 5C is created with w₁ =w₂, andA(t)=|sin(w₂ /50)|; and the stationary Lissajous pattern of FIG. 5D iscreated with w₁ =w₂ /1.1, and A(t)=1. The rotating line pattern, FIG.5E, is created by having the modulating function A(t)=sin(w_(scan) t)and w₁ t=w₂ t=θ where θ is the angle of the scan line, and w/2π is thescanning frequency.

Another pattern which may be used for aiming, and which will bedescribed in more detail later, is the rotating Lissajous pattern shownin FIG. 6. The rotating Lissajous pattern is somewhat inferior foraiming because its visibility is less pronounced than other patterns,but is particularly advantageous insofar as its ability to decode duringaiming is the most robust of all the patterns considered.

Another pattern for aiming found particularly effective is a brightrosette pattern of diameter less than the diameter of rosette to be usedfor decoding.

Once satisfied with aiming, the scanner begins to deflect the light beamwith a scan pattern appropriate for decoding the barcode. The scanpattern for decode may be the same as for aim, or may be a differentpattern or may be the same or different pattern with center of rotationthat shifts upon transition between the two modes or during decoding. Ina preferred embodiment, the decode scan pattern which is generateddepends upon whether the barcode is found to be a 1-D barcode (when thepreferred decode pattern is omni-directional) or a 2-D barcode (when thepreferred decode pattern is raster). Pattern switching may be responsiveto a second trigger pull, or may occur automatically.

For example, referring to FIG. 4A, it is assumed that a rotatingLissajous aiming pattern is directed toward a target having a 2-Dbarcode, as shown. The barcode is partially decoded to determine barcodetype and orientation. The first row of the barcode may be decoded todetermine whether the barcode is a 1-D or 2-D barcode. Alternatively, analgorithm may be used that is capable of determining whether the portionread is a portion of a 1-D or 2-D barcode on the basis of code wordsdetected and decoded.

Upon determining, in this example, that the barcode is a 2-D barcode,the scan pattern is changed to a raster pattern, as shown in FIG. 4B,necessary for scanning such barcodes. Based upon data read from thebarcode during the aim mode, the width of the scanning pattern is openeduntil it at least spans the width of the barcode, and the height isincremented until the entire barcode is decoded. As the scanning patternis increased in height, the barcode rows encompassed by the scanningpattern will be read, decoded and interpreted to determine whether anentire 2-D barcode symbol has been scanned, as described in U.S. Pat.No. 5,235,167. Each row the bar code will preferably be traversed by atleast two scan lines, although only one traversal is necessary. Once thesymbol is read, feedback to the user in the form of, for example, anaudio tone, may be presented by the control/processing circuitry withinthe bar code reader.

Preferably, the specific pattern produced by the scanner, in accordancewith an important aspect of the invention, is a pattern that isoptimized for a particular classification of indicia and depending onwhether the scanner is operating in a portable mode or is mounted in itsfixture. A scan pattern is deemed to be optimized if it reads anddecodes a prescribed pattern in a minimum amount of time, and withinreasonable economic constraints.

If the scanner is operated in the fixed mode, with the palm held module30 is mounted in bracket 114 and the module 30 directed to a regionacross which items bearing indicia, such as a barcode, to be read arepassed, the rotational orientation of the scan pattern with respect tobarcode is indeterminate. On the other hand, if the scanner is operatedin the aim and shoot mode, with the module 30 separated from thebracket, the scanning pattern may be manually aligned with the barcode.The specific pattern produced should be optimized for decoding barcodesof the particular classification of barcode being read.

Hence, in accordance with an aspect of the invention, and referring toFIG. 27, a suitable scan pattern is produced for determiningclassification of the symbol to be read, e.g., whether the symbol is a1-D or 2-D barcode. In the example shown, a rotating Lissajous scanningpattern is selected for its omnidirectionality and robust decodingability. At the same time, it is determined whether the scanner is inthe portable mode or fixed mode of operation (the order of sequence ofthe first two steps is arbitrary). This may be carried out by detectingthe presence of the module 30 in bracket 114 by means of, e.g., amechanical or magnetic proximity switch in the base of the fixture (notshown in FIGS. 26A, 26B; however, see U.S. application Ser. No.08/028,107, filed Mar. 8, 1993, incorporated herein by reference), or bya manual switch located on module 30 or elsewhere.

Assume first that the scanner is in the fixed mode of operation andarranged to read a barcode symbol. The symbol is preliminarily readusing the rotating Lissajous scan pattern to detect the start and stopcodes of the barcode, so as to determine whether it is a 1-D or 2-Dbarcode. If the symbol being scanned is determined to be a 1-D barcode,the scanning pattern will remain defaulted in the form of a rotatingLissajous pattern, as shown in FIG. 27, a pattern that has beendetermined in accordance with the invention to be optimized for 1-Dbarcodes. If the symbol in determined to be a 2-D barcode, on the otherhand, the scanning pattern is changed to a self-aligning raster, as alsoshown in FIG. 27. (A self-aligning raster is a raster that rotates orprecesses so as to traverse a 2-D barcode and read it independently ofthe rotational orientation of the barcode. A specific embodiment ofself-aligning raster is a precessing raster described in more detaillater with reference to FIG. 7.)

Still referring to FIG. 27, when the scanner is determined to beoperating in the portable mode, and the symbol as read during Lissajousscanning is determined to be a 2-D barcode, the scanner produces araster type scanning pattern. This raster is preferably stationary, butmay be enhanced to precess or rotate so as to read barcode symbols ofdiverse rotational orientations. On the other hand, if the symbol isdetermined to be a 1-D barcode symbol, scanning is continued in the formof a pattern optimized to read such barcodes, such as a single orrotating scan line, or rotating Lissajous.

The particular scanning patterns produced for decoding 1-D or 2-Dbarcodes when the scanner is operated in portable and fixed modes can bevaried for specific applications and modules of particular opticalcharacteristics. What is important is that the scanner is adaptive,controlled manually but preferably automatically, to produce decodingscan patterns that are optimized, that is, as robust as practical withrespect to the operating mode selected and the classification of indiciabeing read.

Preferably, the scan pattern is also optimized in dependency on whetherscanning is carried out by a presentation type (under a scan lamp) or apass through (supermarket) type reader. In the presentation type reader,an article carrying a barcode or other symbol to be read is brought tothe reader or the reader is brought to the article. Since reading iscarried out in very close proximity to the barcode, there is no need foraiming. In the pass through reader, the article bearing a barcode isswiped past a scanning pattern produced by a fixed source of lightbeams. These two modalities present different decoding requirements tobarcode readers (in the pass through mode of reading, the article swipesthrough the scan region relatively quickly, whereas in the presentationmode, the barcode is relatively stationary when read). Hence, if readingis carried out in the pass through mode, and the barcode is not verytruncated (that is, the barcode is thin), a scanning pattern producinglines that are more sparsely spaced but more often repeated is preferredbecause it is more likely to traverse the barcode. That is, the fasterthe swipe, the thicker the barcode should be and hence a scanningpattern, such as a rotating Lissajous pattern, optimized for arelatively thick barcode pattern is preferred.

Assuming now that the rotating Lissajous pattern is generated (FIG. 4A)for aiming, in aim and shoot scanning. Another important aspect of thepresent invention is that the rate of increase of the size of the rasterin moving from FIG. 4B to FIG. 4C is responsively controlled dependingupon the size and nature of the barcode. The rate at which the scanpattern opens may be controlled to be faster for larger barcodes. Thesize of each increment may be dependent upon the working range of thescanner. For example, very long range scanners, e.g., up to about 60feet, may require smaller increments so that the patterns do not growntoo fast at the end of the working range.

The preferred Lissajous pattern for decoding, shown in FIG. 6, ispreferably of frequency ratio x/y ranging from 1.1 and 1.3 and rotatedat a rate of between 1 to 4 degrees per scan. These numbers are foundoptimal for scanning highly truncated 1-D barcodes. In this respect, therotating Lissajous pattern, with its sequence of scanning patterns thatare successively rationally offset, has been found more robust fordecoding than a stationary Lissajous pattern. The optimal stationaryLissajous pattern is at a frequency ratio 0.7. However, the optimizedrotating Lissajous pattern produces a 17% improvement in decodingefficiency over the stationary Lissajous pattern. When the rotatingLissajous pattern is converted to a raster for scanning 2-D barcodes inomni-direction, the frequency ratio is made higher by increasing theslower scan frequency y.

Single line rotation and scanning is produced, in accordance with theinvention, by driving two mirrors (not shown) using the circuit 80 ofFIG. 13A which corresponds to, but is more detailed than, FIG. 8. Thetwo mirrors are mounted on resonant scan elements having relativeresonant frequencies at wa and wb, respectively, shown in FIG. 13B. Toimplement oscillation of the two mirrors for scanning in X- andY-directions, satisfying the relationships given in equations (1) and(2), the circuit 80 implements a processor 82 that estimates theorientation of the barcode based on element counts in the DBP streamand/or start and stop character detection. A scan line will be openedupon the second trigger pull at an angle based on the last detectedbarcode orientation. The processor 82 addresses EEPROM cosine and sinetables 84 and 86 which generate digital data corresponding to amplitudesof the cosine and sine of the prescribed angles. These digital signalsare multiplied by sin(wt), and the product converted to a correspondinganalog signal in multiplying digital-to-analog converters (DAC) 88 and90.

Amplitude control shown herein assumes that the Y-element will be drivensomewhat harder than the X-element so as to compensate for any slightlyleading resonant peak, as depicted in the amplitude response curves ofFIG. 13B. Similar compensation may have to be carried out to equalizethe phase responses. Here, it is assumed that the X-element is lendingin phase. The phase adjustment is performed by phase adjustment circuits92 and 94. The outputs of the phase adjustments 92, 94 are supplied tothe X- and Y-inputs of resonant scan elements 96.

Resonant scan elements are known in the art. Such elements typically areprovided with a flexural strip of Mylar or other material cantilevermounted to a base and supporting a miniature permanent magnet positionedwithin a coil. The coil is secured to a base, and a scan mirror isattached to the free end of the cantilever mounted flexural strip. Bychanging the dimensions or flexural characteristics of the cantilevermounted strip, the mass of the strip, the permanent magnet and mirror,or the distribution of mass on the flexural strip, different resonantfrequencies can be established. See, for examples copending applicationSer. No. 07/884,738, filed May 15, 1992 and incorporated herein byreference.

The resonant scan element can also be presented as a single elementhaving different resonant frequencies in mutually orthogonal directions,and utilizing a single mirror to perform single line rotation andscanning. The circuit 80 of FIG. 13A can be implemented to apply drivesignals for X- and Y-scanning to the two inputs of the dual-resonancescanning element, as disclosed in the copending application.

To produce 2-D scanning patterns for symbologies such as PDF 417,described in U.S. patent application Ser. No. 07/461,881, filed Jan. 5,1990, the resonant scan element must be capable of being simultaneouslydriven by at least two frequency components. Raster pattern rotation isachieved by driving a 2-D scanner such that the horizontal element isdriven with the signal X(t) and the vertical element is driven with thesignal Y(t), where

    X(t)=sin(w.sub.1 t)cos(θ)-sin(w.sub.2 t)sin(θ) (3)

    Y(t)=sin(w.sub.1 t)sin(θ)-sin(w.sub.2 t)cos(θ) (4)

and θ is the angle of rotation in digital form.

The above equations describe a rotating Lissajous pattern, and in fact,any Lissajous pattern may be rotated if the two sine functions arereplaced by their Lissajous equivalent. If the resonant scan element hasthe desired equal amplitude and phase responsive at the two sinusoidalcomponents of each drive axis, as illustrated in FIG. 16 depicting thefrequency response shapes of resonant scan elements for 2-D scanning,then no added compensation for phase and amplitude is required.

A circuit 98 for developing drive signals for Lisajous pattern rotation,shown in FIG. 14 and described by equations (3) and (4), comprises aprocessor 100 addressing sine and cosine EEPROM tables 102 and 104 thatproduce the sine and cosine values of the angle, in digital form,generated by the processor. These sine and cosine digital values aresupplied to multiplying DAC units 106 to produce the analog sine andcosine functions of the above equations.

The four drive signals produced by circuit 98 of FIG. 14 may be appliedto four resonant elements supporting four reflectors, each oscillatingat a single resonant frequency, as shown in FIG. 17 and identified bynumeral 110.

A first pair 112, 114 of the mirrors 110 is optically combined as X-axiselements having two resonant frequencies. The second pair is arranged asa Y-axis element having two resonant frequencies that match those of thefirst pair. The mirrors may be oriented in either of the configurationsof FIGS. 15A and 15B.

Alternatively, each mirror pair may be combined on a single resonantelement wherein a distinct resonant peak is available for each axis. Theelement hence can be driven at its resonance frequency by the higherfrequency w2 and off resonance by the lower frequency w1, but with alarger amplitude and any necessary phase compensation. Resonanceelements of dual resonant frequency response may be arrangedorthogonally to produce the rotatable raster patterns in this case.

FIGS. 9A-9D are raster patterns scanning 2-D and 1-D barcodes,respectively, in perfect alignment. However, in practice since theorientation of the scan pattern will not be in perfect alignment withthe barcode; scanning typically will be somewhat skewed as shown inFIGS. 9B and 9E. Furthermore, since 2-D scanning mechanisms tend to beslightly non-linear and will ordinarily produce a somewhat arcuate, ordrooped, scan pattern as shown in FIGS. 9C and 9F, decoding of thebarcode is somewhat difficult to achieve when a complete row of barcodeis not entirely scanned.

To compensate for rotational misalignment between the scan pattern andbarcode, or droop in the scan pattern, another aspect of the inventionprecesses the raster so as to traverse barcode elements that areangularly displaced or are not oriented along a straight line. Referringto FIG. 7, the angle of sweep of each line by the raster scanner isstaggered or precessed slightly, so that the light beam sweeps acrossthe barcodes in a zig-zag pattern. Precession whereby subsequentscanning patterns are rotationally offset from a previous pattern,occurs when the ratio of the X component to the Y component of thescanning pattern is not an integer. In the preferred embodiment, thescan ratio is 1.75:1. For example, if the X component frequency is 120scans per second, then the Y component frequency is 68.5 scans persecond (120 divided by 1.75). The scanner can be designed such that thescan ratio is always 1.75:1, although precession alternatively can beachieved by activating the Y frequency scan by a computer driver.Preferably, each row of the bar code will be traversed by two lines ofscan, although only a single scan line per row is necessary.

The resultant zig-zag pattern causes the light beam to sweep the barcodesymbols in a plurality of different angles, so that angularly offsetlines of barcode up to about thirty degrees of offset can be read by theraster during precession. Similarly, even if the beam emitted by thescanner contains a degree of droop, the precessing raster will scanevery barcode line during successive frames.

The processors 82 of FIG. 13A and 100 of FIG. 14 are programmed tocontrol the scanner of this invention in the aim and decode modes,either by manual (trigger) operation or automatically as describedpreviously. Programming of the processors will now be described withreference to the flow charts of FIGS. 18 and 19. FIG. 18 representsscanner operation for either 1-D or 2-D barcodes, wherein the triggermust be operated once for aim and a second time for decode. In FIG. 19,describing a 1-D barcode scanning example, the transition between aimand decode nodes of operation is automatic. In some cases, therequirement to operate the trigger twice for aim and decode ispreferable, to prevent a symbol from being decoded prematurely ordecoding a neighboring barcode.

Referring to FIG. 18, the scanner awaits a first operation of the manualtrigger, and when the trigger has been first depressed, as detected instep 100, the scanner generates the aim mode pattern which, asaforementioned, preferably is an omnidirectional pattern (anomnidirectional pattern is one wherein the scan angle the beam traversesover time is not limited) and may be any suitable scan pattern that isradially symmetric, e.g., not a simple raster pattern, including thoseshown in FIGS. 5A-E or FIG. 6; the oscillating circle or spiral pattern(FIG. 5C) being best from a standpoint of visibility and the rotatingLissajous pattern being best from the standpoint of preliminary decodingof the barcode (step 102).

The scanner now waits for another trigger operation, and when thetrigger has been manually operated for the second time, as determined instep 104, an omni-pattern for decoding is generated by the scanner (step105). In the example of FIGS. 4A and 4B, as described previously, theaim pattern in the form of a rotating Lissajous for aiming transitionsconverts to a raster for decoding, and as shown in FIG. 4C the aimingpattern is incremented in size (step 108) until the maximum size of thepattern is exceeded (step 110) when the scan pattern is reset in step112 to increment again.

If, however, the barcode has been fully decoded, determined in step 114,before the maximum size of the scan pattern is exceeded, the routine iscompleted.

The size of each pattern increment, and the rate at which the incrementsare generated, are preferably controlled in response to data read fromthe symbol during the aim mode to achieve an optimal rate of Y-directionexpansion depending on the number of rows in and height of a label. Ifthe 2-D code is not successfully decoded at step 114, then decoding iscontinued until either a successful decode has occurred or until apredetermined amount of time, typically on the order of three seconds,has elapsed.

In accordance with FIG. 19, transition from the aim mode to the decodemode is made automatically, and for this example, the procedure isparticularized for scanning a 1-D barcode, although the procedure couldbe generalized to encompass 2-D barcodes as well.

In response to manual operation of the trigger, in step 120, a rotatingline pattern (step 122), corresponding to what is shown in FIG. 5E, isproduced. Alignment of the rotating line pattern and barcode ismonitored in step 124, and may optionally be fine tuned in accordancewith step 126. Alignment may be performed in accordance with theprocedure of FIG. 11 and circuit of FIG. 12.

A second manual operation of the trigger per step 128 is optional. Evenif the trigger is not operated at this time, when the decoder hasdetermined the optimum angle at which to emit a decode scan pattern, thepattern is produced (step 130). The line size is incremented (step 132)until it exceeds the length of the barcode (step 134). If the maximumsize is exceeded, the size of the scan line is reduced to the minimumsize for aiming (step 136) and the process repeats. During the time thelength of the scan line in incremented, the barcode is being decoded, instep 138, and when decoding is completed, the routine is terminated.

In either the manual or automatic operations, the light bean directedtoward the symbol to be read is transitioned between first and secondscan paths in the aim and decode modes. In addition to transitionbetween the scan paths described above, the first and second scan pathsmay differ from each other by rotation about an axis of rotation, byincrease in scan path envelope diameter, by both rotation and envelopediameter increase and by displacement of the center of rotation of thefirst scan pattern.

The user can, therefore, simply aim an apparent spot on the barcode,without regard for the barcode's orientation, and then decode it uponthe second trigger pull. It is also possible to provide automatic scanline opening without a second trigger pull. However, there is a dangerthat the scanner may unintentionally scan and decode the wrong barcode.

In accordance with another aspect of the invention, a first embodimentof a scanning element that may be used to produce the prescribed scanpatterns is shown in FIGS. 21A and 21B. In FIG. 21A, a scan module 110supports and oscillates an objective lens 112 that is mounted on acircuit board 114 that also carries four electric coils 116 equallyspaced along the four quadrants of the circuit board. A support member118 has a central opening 120 for receiving and retaining a lightemitting diode 122 that preferably is a laser diode. At a side of thesupport 118, opposite the diode 122, is a permanent magnet 124 thatinteracts with an electromagnetic field produced by the coils 116 whenan electric current is applied.

The circuit board 114 and support 118 are interconnected by foursemi-rigid wires 126 that also carry electric current from a drivercircuit to the four coils. By changing the connections between thecoils, 1-D or 2-D scan patterns may be selectively achieved.

Wires 126 preferably are tin-soldered to the circuit board 114 andsupport 118. The material of the wires preferably is a phosphor-bronzealloy, although any other material that conducts electricity andprovides semi-rigid support of the circuit board 114 and lens 112 withrespect to support 118 may be used.

Magnet 124 is in the form of a ring, and in one embodiment may bemagnetized axially. The central hole of magnet 124 serves as an aperturestop for the laser beam.

Alternatively, the permanent magnet 124 may be multiply poled around itscircumference. For example, the poling of the permanent magnet may besuch that there are four poles, with South poles being oriented at 0°and 180° and North poles at 90° and 270° along the circumference. Bysuitably energizing two of the four coils 116, the lens and coilassembly will rotate slightly, and hence the semi-rigid wires will beginto form a helix, reducing the distance between the lens 112 and laserbeam source 122 to focus the beam. The other two coils are energized tooscillate the lens assembly to produce appropriate scanning.

Another embodiment of scanner, shown in FIGS. 20A and 20B, comprises acasing 130, of bakelite or other suitable material, and of cylindricalconfiguration. Within the casing 130 is seated a soft iron disk 132having apertures to accommodate a number of terminals 134 for supplyingelectric current to an electromagnetic coil 136 positioned on the disk132. Surrounding the coil 136 within casing 130 is a ring magnet 138 forproducing a magnetic field that interacts with the electromagnetic fieldproduced by coil 136. A soft iron core 140 is positioned in the centralaperture of the coil 136, and a thin diaphragm 140 of flexible materialis seated on the end of magnet 138, as shown, spanning the coil 136 andits core 140. On the outer surface of the diaphragm 140, near the end ofcore 140 is a thin metal plate 144 of low mass.

Pivotably mounted to the end of casing 130 at 146 is a piece of film148, preferably made of Mylar. Upon the outer surface of the membrane,at a position in longitudinal alignment with core 140, is a reflector150. The reflector 150, together with its supporting membrane 148, ismaintained separated from the diaphragm plate 144 by another piece offilm 152, again preferably formed of Mylar.

Except for Mylar films 148, 152, and reflector 150, the device shown inFIGS. 20A and 20B is of a type conventionally used as an audio beeper,wherein an audio signal applied to leads 134 produce oscillation of themembrane 142 and its attached plate 144. In the present invention,mechanical coupling between reflector 150 and membrane 142, by virtue ofMylar film 152, causes the mirror 150 to oscillate correspondingly, and,if coil 136 is suitably energized, scan.

Another embodiment of a scanning mechanism, in accordance with theinvention, is shown in FIGS. 22A and 22B as 148, wherein 1-D scanning iscarried out by a scanning element in the form of a bracket, ortensioner, 150 that is of integral construction, generally C-shaped inconfiguration and resilient. Spanning the ends of the bracket 150 is aclosely spaced, parallel pair of wires 152 maintained taut by the spreadof the bracket. Attached to the taut wires 152, and essentially locatedthereon, are a reflector 154 and permanent magnet 158, secured to thewires by a clamp 156.

Within the bracket 150, behind the magnet 158, is an electromagneticcoil 160 which, when energized, produces an electromagnetic field thatinteracts with the field of the permanent magnet to oscillate reflector154 in one direction, for example, the X-direction.

An important advantage of the structure of the scanner mechanism shownin FIGS. 22A and 22B is that with mirror 152 floating within the ends ofbracket 150, attached to the pair of taut wires 152, strain is uniformlydistributed along the wires. This represents an improvement over ascanner implementing a taut band to support an optical element, such asis described in U.S. Pat. No. 5,168,149, where strain tends toconcentrate at the ends of the band.

To produce 2-D scanning using the mechanism of FIG. 22, a separatereflector 162, for deflecting the light beam in the Y-direction, isoscillated by a Y-motor 164. The configuration, shown in FIG. 23, withthe taut-wire X-scanner 148 of FIG. 22, together with a laser beamsource 166 and Y-scanner 162, 164 in the configuration shown, produces acompact scanner assembly.

Another embodiment of scanner, shown in FIG. 24, comprises anelectromagnetic coil 172 having a central opening into which partiallyextends and electromagnetic coil 174. The coil 172 is rigidly secured toa support member (not shown), and the magnet 174 is resiliently coupledto the same support by means of an am 176.

A U-shaped spring 178 is attached to the magnet 174 at one end, and theopposite end of the spring supports an optical element, preferably areflector 180. Electrical leads (not shown) carry an energizing currentor drive signal to the coil of electromagnet 174. The reflector 180 willoscillate in response to such electromagnet coil signal so as to scan inone or two dimensions, selectively. The spring 178 may be made of anysuitable flexible materials, such as a leaf spring, a flexible metalcoil or a flat bar having sufficient flexibility properties, and may beof a material such as a beryllium-copper alloy.

The reflector 180 is positioned between a laser beam source and lensassembly 182 and a target (not shown in FIG. 24). Between the reflector180 and source 182 is a collector 184 having an opening through which alight beam emitted by the laser source 182 may pass to the reflector180. The collector is oriented so as to direct incoming light, reflectedby ref lector 180 and then collector 184, to a photodetector 186.

An important aspect of the embodiment of FIG. 24 is that the mass ofreflector 180 is considerably leas than the mass of permanent magnet174. The mass of the mirror is selected to be less than about one-fifththe mass of the magnet, and the angle of vibration of the mirror asshown in FIG. 25, a diagram derived by computer simulation, is aboutseven times that of the permanent magnet.

The reflector 180 is capable of 2-D scanning. As described in copendingapplication Ser. No. 07/943,232, filed on Sep. 10, 1992, the U-shapedspring 178, which may be formed of a plastic material, such as Mylar orKapton, the arms of the U-shaped spring 178 and the planar spring 176may be arranged to vibrate in planes which are orthogonal to each other.Oscillatory forces applied to permanent magnet 174 by theelectromagnetic 172 can initiate desired vibrations in both of thesprings 178 and 176 by carefully selecting drive signals applied tovarious terminals of the coil, as discussed in the copendingapplication. Because of the different frequency vibrationcharacteristics of the two springs 178 and 176, each spring willoscillate only at its natural vibration frequency. Hence, when theelectromagnetic 172 is driven by a super position signal of high and lowfrequency components, the U-shaped spring will vibrate at a frequency inthe high range of frequencies, and the planar spring 175 will vibrate ata frequency in the low range of frequencies.

An additional important aspect of the embodiment of FIG. 24 is that thelaser beam emitted by source 182 impinges the reflector 180 at an anglethat is orthogonal to the axis of rotation of the reflector. Hence, thesystem avoids droop in the 2-D scan pattern that tends to arise when theangle of incidence of the laser beam is non-orthogonal to the reflectivesurface.

Another important aspect of FIG. 24 is in the folded or "retro"configuration shown, with the laser beam source 182 off axis from thatof the beam directed from the reflector 180 to the target. The detectorfield of view follows the laser path to the target by way of collector184. The folded configuration shown is made possible by opening 181 inthe collector. The retro configuration enables the scanning mechanism tobe considerably more compact than heretofore possible.

Optionally, the bracket 116 may be mounted on an extension tube 124,shown in FIG. 26B, so as to offset the module 30 from a support surfaceand enable tall items to be scanned.

Hence, as described herein, the invention produces a rotating Lissajousscan pattern or other pattern that is easily seen by the user duringaiming on a barcode, and then under manual control or automaticallyconverts to a decode scan that is robust and opens at a rate, and to asize, that depends upon the barcode itself. If the barcode is a 1-Dcode, the decode pattern may be a precessing raster that is able to scanrows that are rotationally misaligned with the scan lines. Scanning isimplemented by novel miniature 1-D and 2-D scanning assemblies, asdescribed herein.

Another form of scanner that can produce the required two-dimensionalscanning patterns is of a type implementing a scan element supported bya holder structure mounted on a mylar motor to produce oscillatorymovements, the arrangement being mounted on a printed circuit boardwithin a housing that can be manually held. The scanning motor andarrangement may be made of components formed essentially of moldedplastic material, and utilizing of a mylar leaf spring to limit scan.See, for example, application Ser. No. 07/812,923, filed Dec. 24, 1991,assigned to the assignee of this invention and incorporated herein byreference.

In this disclosure, there is shown and described only the preferredembodiment of the invention, but, as aforementioned, it is to beunderstood that the invention is capable of use in various othercombinations and environments and is capable of changes or modificationswithin the scope of the inventive concept as expressed herein.

Omni-directional laser based bar code readers generally have regions intheir scan pattern where reduced height (truncated) bar codes cannot bedecoded. These regions are generally referred to as scan pattern"dead-zones" or "holes." An increasing number of users are printinghighly truncated bar codes because they simply take up less room onproduct labels. When scanning these truncated bar codes with prior artscan patterns, the user may have a difficult time obtaining successfuldecodes because of scan lines not sufficiently crossing the code as itis being brought through the pattern. Failure to obtain a high firstpass read rate reduces work throughput and increases operator fatigue.In order to reduce the dead zones of these omni-directional scanpatterns, bar code manufacturers can add more reflecting surfaces so asto increase the number of scan line orientations. However, if the scanpattern size and signal collection area must remain unchanged so as tomaintain good performance, the product volume will increase undesirably.

Today's omni-directional "pass-through" or projection scanner productofferings typically produce a scan pattern that has a number of crosshashed lines such as those shown in FIG. 28.

Occasionally, an additional motor and mirror are added to the scanner inorder to dither these scan lines so that the, dead-zones can be reduced.In addition, more mirror facets can be added in order to increase thenumber and orientation of these lines. However, these approachesundesirably add volume, cost, and complexity to the system.

In accordance with this invention, a grid-like pattern can be generated,as shown in FIG. 29, with two oscillating mirrors running at a higherand a lower frequency that are a ratio of 1.1 to about 1.3 apart.

If this ratio is slightly different from 1.1, for example, 1.09, thenall the lines of the grid pattern will be dithering, or moving acrossthe scan pattern, as shown in FIG. 30. This is desirable in order tofurther eliminate holes in the pattern.

In order to maximize the number of grid line orientations, the entirepattern is rotated at a particular rate.

If it is rotated at a rate of about one to four degrees per half-cycleof the higher frequency, a very dense and highly aggressiveomni-directional scanning pattern results. A time elapsed trace is shownin FIG. 31.

Selecting the rate of rotation involves a trade-off between the maximumlevels of truncation that the code can have and the transport speed atwhich it can be read. The slower rotation, the more truncated the codecan be, but the slower the bar code can move across the pattern.However, if the scan frequencies can be increased (usually at theexpense of higher power consumption, and higher system bandwidth) thenboth high transport speeds and high truncation level bar codes can beaccommodated. The preferred rotation rate is one degree per half cycleof the highest frequency.

A prototype scanner was built using this high performanceomni-directional scan pattern. The noted benefits are summarized below:

1. It decodes extremely truncated bar codes more aggressively than afixed pattern scanner.

2. When running at 300 Hertz (600 scans/sec), it has a 100% first passread rate on standard UPC bar codes at transport speeds >100 inches persecond. A fixed pattern scanner running at more than twice the scan ratehas a comparable transport speed.

3. Since the pattern is not static, the user does not have to move thebar code relative to the scan pattern lines when in a dead-zone. Thatis, the pattern is dithering in both x, y, and rotational directions.This appears to provide significant benefits for hand-held use.

4. Can be implemented with two oscillating mirrors in order that thescan pattern size be changeable for better aiming control, visibility,and decodability. Static patterns of the type depicted in FIG. 28 cannotbe implemented with oscillating mirrors because the discontinuous lineswould require that the mirrors be capable of extremely large(theoretically infinite) accelerations. Therefore, the size of thesepatterns are not adjustable.

We claim:
 1. A reader for electro-optically reading bar code symbols,comprising:a) a light source for directing a light beam along an opticalpath to a bar code symbol for reflection therefrom; b) a light sensorfor detecting light reflected off the symbol over a field of view; andc) a scanner for omni-directionally scanning at least one of the lightbeam and the field of view, the scanner includingi) a first oscillatablereflector mounted for back-and-forth movement in oppositecircumferential directions relative to a first axis, ii) a secondoscillatable reflector mounted for back-and-forth movement in oppositecircumferential directions relative to a second axis, iii) anoscillating drive for oscillating the first reflector at a first scanfrequency to scan said one of the light beam and the field of view in afirst plurality of back-and-forth scan lines extending generally along alongitudinal direction lengthwise of the symbol, and for oscillating thesecond reflector at a different, second scan frequency to scan said oneof the light beam and the field of view in a second plurality ofback-and-forth scan lines extending along a transverse directionheightwise of the symbol, said first and second scan frequencies beingapart in a frequency ratio ranging from about 10% to about 30% to createa scan grid pattern generally lying in a scan plane that is generallyorthogonal to the optical path, said scan grid pattern being constitutedof the first plurality of the scan lines intersecting the secondplurality of the scan lines, and iv) a rotating drive for rotating thereflectors to rotate the scan grid pattern about a third axis that isgenerally orthogonal to the scan plane.
 2. The reader according to claim1, wherein the light source is a laser for generating the light beam asa laser beam.
 3. The reader according to claim 1, wherein the lightsensor is a photodiode for generating an electrical signal indicative ofthe detected intensity of the reflected light.
 4. The reader accordingto claim 1, wherein each reflector is a light-reflecting mirror.
 5. Thereader according to claim 1, wherein one of the first and second scanfrequencies is higher than the other of the first and second scanfrequencies, and wherein the rotating drive rotates the scan gridpattern at a rate of rotation ranging from about one to four degrees perhalf-cycle of the higher of the first and second scan frequencies. 6.The reader according to claim 1, wherein the symbol is truncated alongthe transverse direction.
 7. The reader according to claim 6, whereinthe rotating drive rotates the scan grid pattern at a rate of rotationthat is inversely proportional to the truncation of the symbol.
 8. Thereader according to claim 5, wherein the rate of rotation is one degreeper half-cycle of the higher of the first and second scan frequencies.9. The reader according to claim 1, wherein the first and second scanlines intersect generally along mutually orthogonal directions in acentral area of the scan grid pattern.
 10. A method of electro-opticallyreading bar code symbols, comprising the steps of:a) directing a lightbeam along an optical path to a bar code symbol for reflectiontherefrom; b) detecting light reflected off the symbol over a field ofview; and c) omni-directionally scanning at least one of the light beamand the field of view, including the steps ofi) mounting a firstoscillatable reflector for back-and-forth movement in oppositecircumferential directions relative to a first axis, ii) mounting asecond oscillatable reflector for back-and-forth movement in oppositecircumferential directions relative to a second axis, iii) oscillatingthe first reflector at a first scan frequency to scan said one of thelight beam and the field of view in a first plurality of back-and-forthscan lines extending generally along a longitudinal direction lengthwiseof the symbol, and oscillating the second reflector at a different,second scan frequency to scan said one of the light beam and the fieldof view in a second plurality of back-and-forth scan lines extendingalong a transverse direction heightwise of the symbol, said first andsecond scan frequencies being apart in a frequency ratio ranging fromabout 10% to about 30% to create a scan grid pattern generally lying ina scan plane that is generally orthogonal to the optical path, said scangrid pattern being constituted of the first plurality of the scan linesintersecting the second plurality of the scan lines, and iv) rotatingthe reflectors to rotate the scan grid pattern about a third axis thatis generally orthogonal to the scan plane.
 11. The method according toclaim 10, wherein the directing step is performed by a laser forgenerating the light beam as a laser beam.
 12. The method according toclaim 10, wherein the detecting step is performed by a photodiode forgenerating an electrical signal indicative of the detected intensity ofthe reflected light.
 13. The method according to claim 10, wherein eachreflector is a light-reflecting mirror.
 14. The method according toclaim 10, wherein one of the first and second scan frequencies is higherthan the other of the first and second scan frequencies, and wherein therotating step is performed by rotating the scan grid pattern at a rateof rotation ranging from about one to four degrees per half-cycle of thehigher of the first and second scan frequencies.
 15. The methodaccording to claim 10, wherein the symbol is truncated along thetransverse direction.
 16. The method according to claim 15, wherein therotating step is performed by rotating the scan grid pattern at a rateof rotation that is inversely proportional to the truncation of thesymbol.
 17. The reader according to claim 14, wherein the rate ofrotation is one degree per half-cycle of the higher of the first andsecond scan frequencies.
 18. The reader according to claim 10, whereinthe first and second scan lines intersect generally along mutuallyorthogonal directions in a central area of the scan grid pattern.
 19. Areader for electro-optically reading truncated bar code symbols ofreduced height, comprising:a) a laser for directing a laser beam alongan optical path to a bar code symbol for reflection therefrom; b) aphotosensor for detecting laser light reflected off the symbol over afield of view; and c) a scanner for omni-directionally scanning at leastone of the laser beam and the field of view, the scanner includingi) afirst oscillatable mirror mounted for back-and-forth movement inopposite circumferential directions relative to a first axis, ii) asecond oscillatable mirror mounted for back-and-forth movement inopposite circumferential directions relative to a second axis, iii) anoscillating drive motor for oscillating the first mirror at a first scanfrequency to scan said one of the laser beam and the field of view in afirst plurality of back-and-forth scan lines extending generally along alongitudinal direction lengthwise of the symbol, and for oscillating thesecond mirror at a different, second scan frequency to scan said one ofthe laser beam and the field of view in a second plurality ofback-and-forth scan lines extending along a transverse directionheightwise of the symbol, said first and second scan frequencies beingapart in a frequency ratio ranging from about 10% to about 30% to createa scan grid pattern generally lying in a scan plane that is generallyorthogonal to the optical path, said scan grid pattern being constitutedof the first plurality of the scan lines intersecting the secondplurality of the scan lines, and iv) a rotating drive motor for rotatingthe mirrors to rotate the scan grid pattern about a third axis that isgenerally orthogonal to the scan plane.
 20. The reader according toclaim 19, wherein one of the first and second scan frequencies is higherthan the other of the first and second scan frequencies, and wherein therotating drive motor rotates the scan grid pattern at a rate of rotationranging from about one to four degrees per half-cycle of the higher ofthe first and second scan frequencies.